/**
* Indicates the interface of FileUploadControllerBase
*/
package com.godpaper.as9.control.upload
{
	import flash.events.DataEvent;
	import flash.events.Event;
	import flash.events.HTTPStatusEvent;
	import flash.events.IEventDispatcher;
	import flash.events.IOErrorEvent;
	import flash.events.ProgressEvent;
	import flash.events.SecurityErrorEvent;
	import flash.net.URLRequest;
	/**
	 * 
	 * @author YangBo
	 * 
	 */	
	public interface IFileUploadControllerBase extends IUploadBase,IUploadTypes,IMaxFileSize
	{
		function set urlRequest(value:URLRequest):void; 
		function get urlRequest():URLRequest; 
		
		function configureListeners(dispatcher:IEventDispatcher):void;
		
		function browseHandler(event:Event):void;
		function openHandler(event:Event):void;
		function cancelHandler(event:Event):void;
		function selectHandler(event:Event):void;
		function progressHandler(event:ProgressEvent):void;
		function ioErrorHandler(event:IOErrorEvent):void;
		function httpStatusHandler(event:HTTPStatusEvent):void;
		function uploadCompleteHandler(event:Event):void;
		function uploadDataCompleteHandler(event:DataEvent):void;
		function securityErrorHandler(event:SecurityErrorEvent):void;
		
		function updateUIElements( currentProgress:Number,
								    progressBarLabel:String,
								    buttonLabel:String,
									totalProgress:Number=100,
									progressBarVisible:Boolean=true,
									browseButtonEnable:Boolean=true,
									displayEnabled:Boolean=true):void;
       
	}
}